package cn.tedu.boot.ers.service;

import cn.tedu.boot.ers.entity.Admin;
import cn.tedu.boot.ers.entity.User;
import cn.tedu.boot.ers.pojo.dto.AdminAddDTO;
import cn.tedu.boot.ers.pojo.dto.AdminLoginDTO;
import cn.tedu.boot.ers.pojo.dto.AdminUpdateNameDTO;
import cn.tedu.boot.ers.pojo.dto.AdminUpdatePasswordDTO;
import cn.tedu.boot.ers.pojo.vo.AdminSimpleVO;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpSession;

public interface IAdminService {
    /**
     * 添加管理员
     *
     * @param adminAddDTO 对象
     */
    @Transactional
    void addNew(AdminAddDTO adminAddDTO);

    /**
     * 更改名字
     *
     * @param adminUpdateNameDTO 对象
     */
    @Transactional
    void updateNameById(AdminUpdateNameDTO adminUpdateNameDTO);

    /**
     * 更改密码
     *
     * @param adminUpdatePasswordDTO 封装修改密码的对象
     */
    @Transactional
    void updatePassword(AdminUpdatePasswordDTO adminUpdatePasswordDTO);

    /**
     * 管理员登录
     *
     * @param adminLoginDTO 登陆对象
     * @param session       会话储存登录成功的对象
     * @return
     */
    void login(AdminLoginDTO adminLoginDTO, HttpSession session);

    boolean checkAdminRole(Admin admin);

}
